// 车辆管理
var Car = Ext.data.Record.create([
	{name : 'id',mapping : 'id',type : 'int'}, 
	{name : 'carCode',mapping : 'carCode',type : 'string'}, 
	{name : 'name',mapping : 'name',type : 'string'}
	]);


var cm_car = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
	header : '车牌',
	width : 85,
	dataIndex : 'carCode'
}, {
	header : '名称',
	width : 85,
	dataIndex : 'name',
	sortable : false
}]);


var btn_add_car = new Ext.Button({
	text : '添加车辆',
	iconCls : 'icon-add',
	handler : function() {
		window_add_car.show();
	}
});

var btn_edit_car = new Ext.Button({
	text : '修改车辆',
	iconCls : 'icon-edit',
	handler : function() {
		var record = grid_car.getSelectionModel().getSelected();
		if (record) {
			window_edit_car.show();
		}else{
			Ext.Msg.alert('提示','请选择要修改的用户!');
		}
	}
});




var ds_car = new Ext.data.Store({
	url : app.url+'/admin/carList.do',
	reader : new Ext.data.JsonReader({totalProperty : 'totalProperty',root : 'root'}, 
	[{name : 'id'}, 
	{name : 'carCode',type : 'string'}, 
	{name : 'name',type : 'string'}
	])
});

var grid_car = new Ext.grid.EditorGridPanel({
	title : '车辆管理',
	iconCls : 'icon-grid',
	loadMask : {msg : '数据加载中...'},
	autoWidth : true,	   	   
	   	viewConfig:
	   	   {
	   	     forceFit:true,
	   	     scrollOffset:15
	   	    },	   	   
	autoScroll : true,
	region : 'center',
	cm : cm_car,
	ds : ds_car,
	sm : new Ext.grid.RowSelectionModel({singleSelect : true}),
	enableColumnMove : false,
	trackMouseOver : false,
	frame : true,
	clicksToEdit : 1,
	tbar : [btn_add_car, '-',btn_edit_car],
	bbar: new Ext.PagingToolbar({
                              pageSize: 20,
                              store: ds_car,
                              displayInfo: true,
							  plugins: new Ext.ux.ProgressBarPager()
                         })
});



var window_add_car = new Ext.Window({
	title : '添加车辆',
	width : 320,
	resizable : false,
	autoHeight : true,
	modal : true,
	closeAction : 'hide',
	listeners : {
		'hide' : function() {
			this.findById('carCode').ownerCt.form.reset();
		}
	},
	items : [new Ext.FormPanel({
		border : false,
		baseCls : 'x-plain',
		bodyStyle : 'padding:5px 5px 0',
		labelAlign : 'right',
		labelWidth : 70,
		defaults : {anchor : '93%',msgTarget : 'side'},
		defaultType : 'textfield',
		items : [{
			fieldLabel : '车牌',
			id : 'carCode',
			name : 'carCode',
			allowBlank : false,
			maxLength : 30
		}, {
			fieldLabel : '名称',
			id : 'name',
			name : 'name',
			allowBlank : false,
			minLength : 6,
			maxLength : 30
		}],
		buttonAlign : 'right',
		minButtonWidth : 60,
		buttons : [{
			text : '添加',
			handler : function(btn) {
				var frm = this.ownerCt.ownerCt.form;
				if (frm.isValid()) {
					btn.disable();
					var unfield = frm.findField('carCode');
					frm.submit({
						waitTitle : '请稍候',
						url : app.url+'/admin/carInfoSave.do',
						waitMsg : '正在提交表单数据,请稍候...',
						success : function(form, action) {
							ds_car.load({params : {start : 0,limit : 20}});
							window_add_car.hide();
							btn.enable();
						},
						failure : function() {
							Ext.Msg.show({
								title : '错误提示',
								msg : '"' + unfield.getValue() + '" ' + '名称可能已经存在!',
								buttons : Ext.Msg.OK,
								fn : function() {
									unfield.focus(true);
									btn.enable();
								},
								icon : Ext.Msg.ERROR
							});
						}
					});
				}
			}
		}, {text : '重置',handler : function() {this.ownerCt.ownerCt.form.reset();}
		}]
	})]
});

var window_edit_car = new Ext.Window({
	title : '修改车辆',
	width : 320,
	resizable : false,
	autoHeight : true,
	modal : true,
	closeAction : 'hide',
	listeners : {
		'hide' : function() {
			this.findById('car.carCode').ownerCt.form.reset();
		},
		'show' : function(){
			var record = grid_car.getSelectionModel().getSelected();
			this.findById('car.carCode').setValue(record.data.carCode);
			this.findById('car.name').setValue(record.data.name);
		}
	},
	items : [new Ext.FormPanel({
		border : false,
		baseCls : 'x-plain',
		bodyStyle : 'padding:5px 5px 0',
		labelAlign : 'right',
		labelWidth : 70,
		defaults : {anchor : '93%',msgTarget : 'side'},
		defaultType : 'textfield',
		items : [{
			fieldLabel : '车牌',
			id : 'car.carCode',
			name : 'car.carCode',
			allowBlank : false,
			maxLength : 30
		}, {
			fieldLabel : '名称',
			id : 'car.name',
			name : 'car.name',
			allowBlank : false,
			minLength : 6,
			maxLength : 30
		}],
		buttonAlign : 'right',
		minButtonWidth : 60,
		buttons : [{
			text : '保存',
			handler : function(btn) {
				var frm = this.ownerCt.ownerCt.form;
				if (frm.isValid()) {
					btn.disable();
					var unfield = frm.findField('car.carCode');
					frm.submit({
						waitTitle : '请稍候',
						url : app.url+'/admin/carUpdate.do',
						waitMsg : '正在提交表单数据,请稍候...',
						success : function(form, action) {
							ds_car.load({params : {start : 0,limit : 20}});
							window_edit_car.hide();
							btn.enable();
						},
						failure : function() {
							Ext.Msg.show({
								title : '错误提示',
								msg : '"' + unfield.getValue() + '" ' + '名称可能已经存在!',
								buttons : Ext.Msg.OK,
								fn : function() {
									unfield.focus(true);
									btn.enable();
								},
								icon : Ext.Msg.ERROR
							});
						}
					});
				}
			}
		}, {text : '取消',handler : function() {
			window_edit_car.hide();
			ds_car.load({params : {start : 0,limit : 20}});
		}
		}]
	})]
});

var p_car = {
	id : 'car-panel',
	border : false,
	layout : 'border',
	items : [grid_car]
};